package br.com.ufpr.util.base;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Interface para definir uma tela protegida do sistema
 * 
 * @see AuthorizationStrategy#isInstantiationAuthorized(Class)
 * 
 * @author Willian Tanaka
 * 
 */
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public abstract @interface Protected {
    boolean adminOnly() default false;

    boolean desenvolvedorOnly() default false;

    boolean integradorOnly() default false;
}